perm filename PUP0B.PAL[11,HE] blob
sn#656315 filedate 1982-04-29 generic text, type T, neo UTF8
; Copyright Xerox Corporation 1979
.TITLE PUP0B
; PUP0B -- ROUTINES FOR INTERFACING TO ETHERNET HARDWARE
.CSECT GLOBAL
G=.
.CSECT
; ENTRY POINT TO INITPDPETHER
LA1:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
CLR -6.(0)
MOV #000032,%2
MOV -2.(0),%1
JSR %7,@G+256.
000010
MOV %1,-8.(0)
JSR %7,@G+294.
000012
MOV %1,-10.(0)
MOV #000032,%2
MOV -8.(0),%1
JSR %7,@G+202.
000014
MOV -8.(0),%1
ASL %1
MOV -10.(0),4.(1)
MOV -8.(0),%1
ASL %1
MOV G+282.,20.(1)
MOV -8.(0),%1
ASL %1
MOV G+284.,22.(1)
MOV -8.(0),%1
ASL %1
CLR 6.(1)
MOV -8.(0),%1
ASL %1
MOV G+288.,16.(1)
MOV -8.(0),%1
ASL %1
MOV G+384.,18.(1)
MOV -8.(0),%1
ADD #000005,%1
MOV -8.(0),%2
ADD #000007,%2
JSR %7,@G+230.
000014
MOV -8.(0),%2
MOV G+380.,%1
JSR %7,@G+230.
000014
MOV #000024,%2
MOV -2.(0),%1
JSR %7,@G+256.
000020
MOV #000001,%4
MOV G+286.,%3
MOV #000024,%2
JSR %7,@G+250.
000014
MOV %1,-6.(0)
MOV -6.(0),%1
ASL %1
MOV -8.(0),6.(1)
MOV -6.(0),%2
MOV -4.(0),%1
JSR %7,@G+230.
000014
MOV -8.(0),%1
JSR %7,@G+290.
000014
MOV (0)+,%5
BR LA999
LA5:
JMP MA5
LA999:
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO ENCAPSULATEETHERPUP
LA2:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -4.(0),%1
SWAB %1
CLRB %1
MOV -2.(0),%2
ASL %2
MOV 6.(2),%2
ASL %2
ADD 4.(2),%1
MOV #000007,%2
ADD -2.(0),%2
ASL %2
MOV %1,(2)
MOV #000007,%1
INC %1
ADD -2.(0),%1
ASL %1
MOV #001000,(1)
MOV -2.(0),%1
ASL %1
MOV 18.(1),%1
ADD #000005,%1
CLC
ROR %1
MOV -2.(0),%2
ASL %2
MOV %1,12.(2)
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SENDETHERPACKET
LA3:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ASL %1
MOV 6.(1),-4.(0)
MOV -4.(0),%1
ADD #000030,%1
MOV -2.(0),%2
JSR %7,@G+230.
000006
MOV -4.(0),%1
ASL %1
TST 46.(1)
BNE LA6
MOV -4.(0),%1
JSR %7,@G+292.
000006
LA6:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO FEEDETHER
LA4:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
LA7:
MOV -2.(0),%1
ASL %1
MOV 6.(1),-4.(0)
MOV -4.(0),%1
ASL %1
TST 32.(1)
BNE LA8
MOV G+382.,%1
ASL %1
TST (1)
BEQ LA8
MOV -4.(0),%1
JSR %7,@G+290.
000006
LA8:
MOV -4.(0),%1
ASL %1
TST 46.(1)
BEQ LA9
MOV -4.(0),%1
ADD #000026,%1
JSR %7,@G+246.
000006
TST %1
BEQ LA9
MOV #160024,-6.(0)
MOV -6.(0),%1
ASL %1
CLR (1)
MOV -4.(0),%1
ASL %1
TST 46.(1)
BEQ LA10
MOV -4.(0),%1
ASL %1
MOV 46.(1),%1
ASL %1
MOV -4.(0),%2
ASL %2
MOV 46.(2),%2
MOV 2.(1),%1
JSR %7,@G+230.
000010
LA10:
MOV -4.(0),%1
ASL %1
CLR 46.(1)
MOV -4.(0),%1
ASL %1
CLR 42.(1)
MOV -4.(0),%1
JSR %7,@G+292.
000010
LA9:
JSR %7,@G+254.
000006
BR LA7
MA5:
.CSECT GLOBAL
.=G+280.
LA1
.=G+282.
LA2
.=G+284.
LA3
.=G+286.
LA4
.CSECT
.END